home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 2000 October / Software of the Month - Ultimate Collection Shareware 277.iso / pc / PROGRAMS / UTILITY / WINLINUX / DATA1.CAB / programs_-_include / LINUX / ETHERDEV.{3U < prev    next >
Text File  |  1999-09-17  |  2KB  |  57 lines

  1. /*
  2.  * INET        An implementation of the TCP/IP protocol suite for the LINUX
  3.  *        operating system.  NET  is implemented using the  BSD Socket
  4.  *        interface as the means of communication with the user level.
  5.  *
  6.  *        Definitions for the Ethernet handlers.
  7.  *
  8.  * Version:    @(#)eth.h    1.0.4    05/13/93
  9.  *
  10.  * Authors:    Ross Biro, <bir7@leland.Stanford.Edu>
  11.  *        Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
  12.  *
  13.  *        Relocated to include/linux where it belongs by Alan Cox 
  14.  *                            <gw4pts@gw4pts.ampr.org>
  15.  *
  16.  *        This program is free software; you can redistribute it and/or
  17.  *        modify it under the terms of the GNU General Public License
  18.  *        as published by the Free Software Foundation; either version
  19.  *        2 of the License, or (at your option) any later version.
  20.  *
  21.  *    WARNING: This move may well be temporary. This file will get merged with others RSN.
  22.  *
  23.  */
  24. #ifndef _LINUX_ETHERDEVICE_H
  25. #define _LINUX_ETHERDEVICE_H
  26.  
  27. #include <linux/config.h>
  28. #include <linux/if_ether.h>
  29.  
  30. #ifdef __KERNEL__
  31. extern int        eth_header(struct sk_buff *skb, struct device *dev,
  32.                    unsigned short type, void *daddr,
  33.                    void *saddr, unsigned len);
  34. extern int        eth_rebuild_header(struct sk_buff *skb);
  35. extern unsigned short    eth_type_trans(struct sk_buff *skb, struct device *dev);
  36. extern void        eth_header_cache_update(struct hh_cache *hh, struct device *dev,
  37.                         unsigned char * haddr);
  38. extern int        eth_header_cache(struct neighbour *neigh,
  39.                      struct hh_cache *hh);
  40. extern int        eth_header_parse(struct sk_buff *skb,
  41.                      unsigned char *haddr);
  42. extern struct device    * init_etherdev(struct device *, int);
  43.  
  44. #ifdef CONFIG_IP_ROUTER
  45. static __inline__ void eth_copy_and_sum (struct sk_buff *dest, unsigned char *src, int len, int base)
  46. {
  47.     memcpy (dest->data, src, len);
  48. }
  49. #else
  50. extern void        eth_copy_and_sum(struct sk_buff *dest,
  51.                 unsigned char *src, int length, int base);
  52. #endif
  53.  
  54. #endif
  55.  
  56. #endif    /* _LINUX_ETHERDEVICE_H */
  57.